package org.spring.blog.service;

import org.spring.blog.pojo.Category;
import org.spring.blog.response.ResponseResult;


public interface ICategoryService {


    /**
     * 管理员获取分类列表
     *
     * @return 自定义返回对象
     */
    ResponseResult listCategoriesForAdmin();

    interface constant {
        int list_min_page_size = 5;
        int list_default_page_num = 1;
    }

    /**
     * 删除分类
     *
     * @param _categoryId 分类对象id
     * @return 自定义返回对象
     */
    ResponseResult deleteCategory(String _categoryId);

    /**
     * 添加分类
     * 要求
     * 1.管理员权限
     *
     * @param _category 分类对象
     * @return 自定义返回对象
     */
    ResponseResult insertCategory(Category _category);

    /**
     * 获取分类
     * <p>
     * 需要管理员权限
     *
     * @param _categoryId 分类id
     * @return 自定义返回对象
     */
    ResponseResult queryCategory(String _categoryId);

    /**
     * 获取分类列表
     *
     * @return 自定义返回对象
     */
    ResponseResult listCategories();


    /**
     * 更新分类
     *
     * @param _categoryId 分类id
     * @param _category   分类对象
     * @return 自定义返回对象
     */
    ResponseResult updateCategory(String _categoryId, Category _category);
}
